package cn.han.oop2;
//本类用作抽象的入门案例
public class abstractDemo {
    public static void main(String[] args) {
        Animal animal = new Pig();
        Pig pig = new Pig();
    }
}
/*1.如果一个类中包含了抽象方法，那么这个类必须被声明成抽象类
* 2.抽象方法没有方法体
* 3.抽象类里可以没有普通方法--全抽象
* 4.抽象类里可以没有抽象方法--全普通
* 5.当抽象类被继承后，子类要么定义为抽象，要么实现父类中的所有抽象方法
* 6.子类如果不实现全部抽象方法，那么子类还是个抽象类，只有全部实现，子类才是普通子类
* 7.抽象类不可以被实例化，不能创建对象
* 8.虽然不能实例化，但是有构造方法，为了子类创建对象时使用使用super*/
abstract class Animal{
    public abstract void fly();

}

class Pig extends Animal{

    @Override
    public void fly() {

    }
}